iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 21
0

今天來講一下比較無聊概念的東西,那就是物件導向~XD千萬不能睡著...zzz

物件導向概念

在以前針對程式設計的過程方法,整個系統設計是圍繞著結構化系統模型進行的,也就是將需要求解的問題視為等待處理的大過程,然後進行功能分析,將剛剛的大過程分解成許多個子功能模組。那期間,會根據問題複雜程度,又可能會再分解成更小的小過程,直到整個系統被分成易於處理的樣子,之後再解決系統控制的部分。可是如此,資料與過程常常分離,缺乏對基本問題組成的完整分析,也欠缺靈活性,所以導致最後要大量修改,不易維護。
因此為了要解決上述的不足,「物件導向」解決問題的想法是從現實生活中客觀存在的事物入手,強調直接以問題域(現實世界)中的客觀事物為中心來認識問題、分析問題,再把他們的本質特徵,抽象地表示為電腦系統的物件,把物件當成系統基本組成單位,又透過物件之間的相互作用對映到電腦系統來模擬。

物件導向優點

1. 自然高效

物件導向方法運用人們認識客觀世界的自然思維方式來處理問題,使開發者在問題的部分認識更透徹,促使整個開發過程更為高效。

2. 易於重用

物件導向在分析問題時,要求透過事物表面找到本質特徵,所以通常建立物件在解決問題上都具有普遍性,因而可應用於其他類似問題中。

3. 便於維護

物件導向對問題域的事物及相互關係進行透徹分析,因此在設計上通常比較簡潔且易於了解。而它將資料和處理這些資料的操作視為一個整體(物件),使物件相對獨立,修改一個物件對其他物件影響很小,所以開發出的類別和物件會比較穩定,增強了系統靈活性和擴充性。

物件導向中的基本概念

  • 物件
    在物件導向的方法中,人們進行研究的任何事物都能稱為物件,它能是有形的或是無形的,例如:食物、汽車、教學、法規等。
  • 屬性和方法
    每個物件都有自己獨特的性質、狀態和行為等特性,所以在物件導向裡,描述物件的兩要素就是屬性和方法。屬性是描寫物件靜態特性的資料元素,如描述人姓名、性別等;方法是描寫物件動態特性的操作,如人的工作、學習行為等。
  • 封裝
    概念在於,把某物件的資料藏在內部,形成一黑盒子,僅透過公開的介面加以存取,當未來需要變更時,只修改該物件類別即可,影響幅度縮減到最低。

那麼還有一些基本概念,將在之後做更詳細的講解~

  • 類別
  • 繼承
  • 多型

參考資料

  • 書名-大數據起步從Python開始 /吳萍-編著

上一篇
Day20-匯入與套件
下一篇
Day22-類別
系列文
Python 30天學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言